Categorical Semantics for Dynamically Typed Languages, Notes for History of Programming Languages, 2017
نویسنده
چکیده
These are the notes for a talk I gave for Matthias Felleisen’s History of Programming Languages class. I’ve tried to avoid recounting detailed descriptions of category theory and domain theory here, which I think the cited papers themselves did a good job of doing. Instead, I’ve tried to take advantage of the connections between syntax and category theory to reframe some of the results in these papers as syntactic translations, especially the theorems in 4, 7. 1 Historical Overview In 1969, Dana Scott wrote a paper in which he said untyped lambda calculus had no mathematical meaning (Scott [1993]), 11 years later he wrote a paper that organized many of the different semantics he and others had since found using the language of category theory (Scott [1980]). This latter paper is really the first deserving of the title “categorical semantics of dynamic typing”, and so I’m going to present some of the theorems and “theorems” presented in that paper, but mingled with the history of the idea and the preceding papers that led to them. In Figure 1 we have a very skeletal timeline: On the left are some foundational categorical logic papers, on the right are some seminal semantics papers by Dana Scott that we’ll go over in some detail throughout this article. I drew them in parallel, but it is clear that there was interaction between the sides, for instance Scott says he received a suggestion by Lawvere in Scott [1972]. But what’s very interesting is that both Lambek and Scott wrote papers on cartesian closed categories and lambda calculus for the 1980 Haskell Curry Festschrift (Lambek [1980] and Scott [1980]), so this seems to have been something of a milestone for the use of category theory in programming languages. For completeness, since I won’t discuss them in detail below, the Lawvere paper is Lawvere [1969] where Lawvere introduced the notion of hyperdoctrine, which allows for the interpretation of higher-order logic. The Lambek papers form a
منابع مشابه
Lecture Notes on Futures 15-312: Foundations of Programming Languages
In this lecture we first examine a technique to specify the operational semantics for lazy evaluation. This is an implementation technique for a call-by-name semantics that avoids re-evaluating expressions multiple times by memoizing the result of the first evaluation. Then we use a similar technique to specify the meaning of futures, a construct that introduces parallelism into evaluation. Fut...
متن کاملEfficient virtual machine support of runtime structural reflection
Increasing trends towards adaptive, distributed, generative and pervasive software have made object-oriented dynamically typed languages become increasingly popular. These languages offer dynamic software evolution by means of reflection, facilitating the development of dynamic systems. Unfortunately, this dynamism commonly imposes a runtime performance penalty. In this paper, we describe how t...
متن کاملNotes on Futures 15 - 312 : Foundations of Programming Languages
In this lecture we first examine a technique to specify the operational semantics for lazy evaluation. This is an implementation technique for a call-by-name semantics that avoids re-evaluating expressions multiple times by memoizing the result of the first evaluation. Then we use a similar technique to specify the meaning of futures, a construct that introduces parallelism into evaluation. Fut...
متن کاملCategorical Model of Structural Operational Semantics for Imperative Language
Definition of programming languages consists of the formal definition of syntax and semantics. One of the most popular semantic methods used in various stages of software engineering is structural operational semantics. It describes program behavior in the form of state changes after execution of elementary steps of program. This feature makes structural operational semantics useful for impleme...
متن کاملLexical Semantics and Selection of TAM in Bantu Languages: A Case of Semantic Classification of Kiswahili Verbs
The existing literature on Bantu verbal semantics demonstrated that inherent semantic content of verbs pairs directly with the selection of tense, aspect and modality formatives in Bantu languages like Chasu, Lucazi, Lusamia, and Shiyeyi. Thus, the gist of this paper is the articulation of semantic classification of verbs in Kiswahili based on the selection of TAM types. This is because the sem...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017